Q新闻丨Oracle确认Java 9跳票!微软发布Azure备份服务器……
1Oracle确认Java 9将推迟发布
Java 9叒跳票了!
在最近的交流中,Oracle公司Java Platform Group的首席架构师Mark Reinhold提出Java 9的正式版本发布将延迟6个月,以此来给Project Jigsaw的完成争取更多的时间。经过审议后,这次延迟被采纳,将Java 9的正式版本发布定于2017年3月。
Mark Reinhold之前谈到过功能和时间安排之间的冲突,这表明他更加倾向于一个相对固定的时间点安排,即使这样做是以延迟某些功能到之后的版本来发布为代价的。然而,当考虑中的功能是新版本的核心功能的时候,他也支持这种情况可以另外处理。在Java 9这个例子中,核心功能是Project Jigsaw,因此,既然Project Jigsaw在初定的时间安排之下无法完成,而且考虑到最近几个月Project Jigsaw合理的进展,社区采纳了这次延迟发布。
这次做的这个决定与Java 8采取的类似的决定相一致。当Project Lambda,这个当前Java 8版本的核心功能很显然不能于初定的时间安排下完成的时候,延迟也被提出并被接受。相比较起来,Project Jigsaw从Java 8推迟到了Java9。类似地,我们可以推测如果要给Project Valhalla的完成预留更多时间,那么Java 10的发布也会延迟。
2雅虎开源语义数据Web爬虫:Anthelion
整个Web世界正在发生剧烈的转变,包含语义注解的Web页面让数据的提取和重用变得越来越容易,而为了提供更好的用户体验搜索引擎和社交媒体网站对这种数据的使用也越来越多。要获取这些数据离不开网络爬虫的支持,为此,Yahoo创建了Anthelion项目,一个旨在爬取语义数据的Nutch插件,最近,该项目已在GitHub上开源。
Anthelion是为了更好地爬取嵌在HTML页面中的结构化数据而设计的,它采用了一种全新的方法来爬取含有丰富数据的页面上的内容:将线上学习和Bandit探索方法有效地结合起来,根据页面上下文以及从之前页面提取到的元数据反馈预测Web页面的数据丰富程度。 这种方法明显优于主题爬取(Focused Crawling)目前所采用的其他技术,极大地提升了爬取效率。
整个数据爬取的流程如下:
正如上面的流程图所展示的,为了执行主题爬取,该插件实现了三个扩展:
AnthelionScoringFilter(实现了ScoringFilter接口):在线分类器,它对每一个外链打分,同时将新发现的外链分为相关的和不相关的两类。
WdcParser(实现了Parser接口):解析Web页面内容并提取语义数据。该扩展基于any23类库实现,能够从HTML中提取Microdata、Microformats和RDFa注解。
TripleExtractor(实现了IndexingFilter接口):将新域存储到索引中供之后的查询使用。
对于想亲身感受Anthelion的用户而言,直接从GitHub上下载整个项目包或许是一个不错的选择,因为它包含了完整的Nutch 1.6代码和相关插件,不需要任何修改和设置就能运行。如果只想下载插件,那么需要从文件的根目录下下载nutch-anth.zip并进行相关的设置。
在构建好项目之后,导航到\target文件夹,执行CCFakeCrawler类的main函数就能启动爬虫,例如:
java -Xmx15G -cp ant.jar com.yahoo. research.robme.anthelion. simulation.CCFakeCrawler [indexfile] [networkfile] [labelfile] [propertiesfile] [resultlogfile] |
其中,indexfile是ID和URL之间的映射文件,networkfile是索引中ID的图,labelfile是满足目标函数的ID列表,propertiesfile是配置文件,resultlogfile存储性能和爬取流程信息。
Anthelion支持init、start、stop和exit操作,在爬取的过程中,用户还可以通过status命令查看爬取进程的状态。另外,对于Anthelion爬取数据的精确度Yahoo也进行了评测,结果如下:
3微软发布Azure备份服务器
2015年10月7日,微软宣布了Azure备份服务器的一般可用性。Azure备份服务器原本被称为Project Venus,目标是支持中小型企业(SME)客户的备份需求。
早在2013年10月,微软就发布了Azure备份服务,它通过一个运行在本地的agent连接至Azure,以此将文件与文件夹备份至Azure中。该服务能够保证数据的传输以及存储都经过加密保护,但这项服务还是缺少了一些客户所期望的关键功能。
随着Azure备份服务的逐渐成长,客户开始要求对于企业级的备份操作提供更好的支持,而不仅仅限于文件和文件夹。微软的集团项目经理Shreesh Dubey在一篇最近的博客中提到了某些客户的需求:“随着服务的增长,我们也收到了一些对于保存在SQL、Exchange、SharePoint和Hyper-V虚拟机中的业务数据进行保护的请求。”现在,Azure备份服务器不仅能够应对这些需求,并且还能够对IIS、活动目录、DNS、VMWare以及物理Windows和Linux服务器进行备份。
之前,这些业务数据的备份必须通过微软的系统中心数据保护管理器(DPM)才能够实现。如果某些企业客户已经拥有了该工具集套件的许可,那么这也是个不错的选择。但对于许多中小型企业客户来说,工具集套件的许可就显得有些价格偏高了。
按照Dubey的描述,Azure备份服务器“功能上与系统中心DPM相当”,但同时存在着三点不同之处:
不支持与系统中心组件进行集成
不支持磁带
必须具有有效的Azure订阅
使用Azure备份服务器的一个主要用例是对混合式云环境的备份。在这种场景中,客户将在他们的本地环境中部署一台Windows服务器。客户同时需要具有Azure订阅号,通过该订阅号创建一个Azure存储实例,并指定所需的存储类型特性,例如本地冗余或跨地域冗余。随后,客户需要下载一个大约3gb大小的Azure备份服务器agent软件,并安装在本地环境中的Windows服务器上。在agent的安装过程中,客户需要提供存储服务的证书,以确保数据将准确无误地传输到Azure中的对应存储实例上。
数据在传输至Azure之前会预先进行加密,并通过HTTPS进行传输。当数据上传至Azure后会依然保持加密状态,并通过祖-父-子(GFS)方案以确保多备份周期的维护。系统管理员能够通过所安装的agent软件中自带的图形用户界面或shell脚本对他们的备份流程进行配置。
虽然微软指出混合式的云备份对于客户来说是一种关键的场景,但如果客户不希望将他们的备份资料上传至Azure中,那么也可以选择其它方案。如果客户所期望的恢复时间目标(RTO)水平较高,那么从云端进行恢复操作可能无法满足他们的业务需求。在这种场景下,客户可以使用Azure备份服务器将备份传送至他们的本地存储环境。
这项业务的许可成本取决于所保护的实例数目,每个实例的大小,以及所需的存储服务的类型(本地冗余或跨地域冗余)。对于恢复、传出流量、存储事务以及Azure备份服务器内部所使用的SQL Server实例的使用则不产生费用。
4JetBrains在CLion的Linux和OS X版本中引入Swift支持
得益于苹果在12月初开源了Swift编译器和库,JetBrains在其跨平台IDE CLion的Linux和OS X版本中引入了Swift支持。
为了能够使用CLion编写Swift,开发人员需要安装一个CLion插件和Swift工具链。在正确安装Swift工具链以后,开发人员就可以使用预备好的CMake模板创建Swift项目了。
CLion的Swift插件提供了如下特性:
解析项目和标准库中的类;
代码高亮和补全;
代码格式器,可以设置Swift特有的风格;
基于LLVM的可视化调试,包括值和类型渲染、表达式求值。
JetBrains还是AppCode的开发者。AppCode是一个面向iOS和OS X开发的独立IDE,它已经提供了Swift支持。不过,由于AppCode仅限于OS X平台,所以Linux开发人员无法选用。
据JetBrains的Anastasia Kazakova介绍,CLion的Swift插件使用了JetBrains自己的AppCode Swift语言解析器,而不是基于苹果编译器的解析器,这是因为前者在一些任务中可以更好地同他们的IDE集成,如快速生成整个项目的符号列表、支持重构,等等。
Kazakova表示,事实上,他们之所以将Swift插件引入CLion而不是IntelliJ IDEA,其中一个原因是CLion和AppCode已经有许多共用的东西,这使得在CLion中提供Swift支持更简单。她还表示,JetBrains目前还没有在IntelliJ IDEA中引入Swift支持的计划。
CLion 1.5早期使用计划提供CLion Swift插件的下载。需要注意的是,build 144.2151.8意外缺失了LLDBFrontend,不过可以从这里单独下载。
更多干货内容,敬请关注InfoQ[id:infoqchina]微信公众号